Deployment of cross-organizational applications is becoming a norm in recent years. One key reason for this may be because of the impact of pervasive adoption and usage of the internet. Furthermore, there seem to be growing needs for organizations to cooperate and collaborate, for mutual business gain, for example, or sometimes even to share resources to achieve various common goals. The advancement of distributed computing technologies, such as service-oriented and grid computing enables quicker and wider deployment of cross-organizational applications than before.
In today's business world, one major challenge for an enterprise is the need for agility in order to survive in very competitive business environments characterized by fast-paced market development, increased time-to-market pressure and shortened product life-cycles. Forming a business alliance with appropriate business partners is a common strategy for an enterprise to stay ahead of competitors by offering a one-stop solution or a complete service package to its customers. In such an environment, cross-enterprise applications, such as inter-organizational workflow management systems, play a key role for executing business processes among business partners in a timely and automated manner.
An inter-organizational workflow management system is used to model and control the execution of processes involving a combination of manual and automated activities between different organizations. Such a workflow management system can be either centralized or decentralized. The decentralized workflow management system is usually preferred because of its scalability, and the heterogeneous and autonomous nature of inter-organizational interactions.
In a centralized workflow system, there exists a single workflow management engine that is responsible for distributing tasks to appropriate execution agents. The central workflow engine also ensures the specified task dependencies by sending tasks to the respective execution agents only when all requisite conditions are satisfied.
In a decentralized workflow system, on the other hand, a central workflow engine only sends the entire workflow to a first execution agent and receives the final output from the last execution agent in the workflow. The workflow control in this case is localized, in the sense that each execution agent in the workflow is responsible not only for executing an assigned task, but also needs to evaluate the following task dependencies and forward the remaining workflow to the next execution agent.